package fr.auzaiphe.admin.model;

import fr.auzaiphe.admin.constantes.ConstantesAdmin;

/**
 *
 * @author Hugp
 * Evenements liés à la demande d'échange de temps par un joueur.
 */
public class EvtEchangeTemps extends Evenement
{
	private Joueur donneur;
	private Joueur receveur;
	private int montant;

	public EvtEchangeTemps(int pDate,
						   String pCouleur,
						   Joueur pDonneur,
						   Joueur pReceveur,
						   int pMontant
						  )
	{
		super(pDate,pCouleur);
		this.donneur = pDonneur;
		this.receveur = pReceveur;
		this.montant = pMontant;
	}

	@Override
	public String toString()
	{
		return
			super.toString()+" "+
			this.donneur.getPrenomPersonnage()+" "+
			this.donneur.getNomPersonnage()+" "+
			ConstantesAdmin.EVT_ECHANGE_TEMPS_1+" "+
			this.montant+" "+
			ConstantesAdmin.UNITE_TEMPS+" "+
			ConstantesAdmin.EVT_ECHANGE_TEMPS_2+" "+
			this.receveur.getPrenomPersonnage()+" "+
			this.receveur.getNomPersonnage()+".";

	}

	public Joueur getDonneur()
	{
		return this.donneur;
	}

	public Joueur getReceveur()
	{
		return this.receveur;
	}

	public int getMontant()
	{
		return this.montant;
	}

	public boolean equals (EvtEchangeTemps pEvt)
	{
		return
			(pEvt instanceof EvtEchangeTemps) &&
			super.equals(pEvt) &&
			(pEvt.getDonneur() == this.donneur) &&
			(pEvt.getReceveur() == this.receveur) &&
			(pEvt.getMontant() == this.montant);
	}
}
